1. Technical Field
This disclosure relates in general to algorithms for filtering digital images and more particularly to a method and to an implementing device for estimating white Gaussian noise that corrupts a digital image.
2. Description of the Related Art
Pixel intensity fluctuations in homogeneous area of digital images are mainly due to random noise. For this reason, these areas are analyzed for obtaining noise statistic figures. Examples of methods for estimating noise are disclosed in A. Amer, E. Dubois, “Fast and Reliable Structure-Oriented Video Noise Estimation,” IEEE Transactions on Circuits and Systems for Video Technology, Vol. 15, No 1 (January 2005), and D-H. Shin, R-H Park, S. Yang, J-H Jung, “Block-Based Noise Estimation Using Adaptive Gaussian Filtering,” IEEE Transactions on Consumer Electronics, Vol. 51, No. 1 (February 2005).
A typical approach for estimating noise standard deviations consists in subdividing the image in non-overlapped blocks. Noise standard deviations are calculated by processing pixel values in homogeneous blocks and finally noise levels are estimated in function of all the measured local variances.
Another technique consists in pre-filtering an image A acquired using a low-pass filter. This operation generates a filtered image AS that is subtracted by the original noisy image A, thus the noise image is given by the following equation:{tilde over (η)}(i,j)=A(i,j)−AS(i,j)wherein {tilde over (η)} is used for estimating the noise standard deviation {tilde over (σ)}.
Another nonlinear method that carries out the step of estimating the parameter {tilde over (σ)} by using temporally adjacent frames of an image sequence, is described in F. Russo, “A Method for Estimation and Filtering of Gaussian Noise in Images,” IEEE Transactions on Instrumentation and Measurement, Vol. 52, No. 4 (August 2003).
Algorithms for eliminating noise from digital images use estimations of noise levels such to adjust the characteristics of the filtering. Routines for estimating the noise level should be fast and reliable in order to have filtering devices of digital images with good performances. With a fast evaluation of the noise level it is possible to obtain a faster filtering system, and a reliable estimation allows the filtering system to adjust lightening conditions and image characteristics.
Generally, it is supposed that images to be processed are corrupted by additive white Gaussian noise (AWGN), that is:
i) noise is additive: a random value is added to each pixel;
ii) noise is white: noise level in a pixel does not depend from the noise level in any other pixel;
iii) noise is Gaussian: noise intensity values are distributed according to a Gaussian distribution.
The Probability Density Function (PDF) is:
      f    ⁡          (      x      )        =            1              σ        ⁢                              2            ⁢            π                                ⁢          ⅇ              -                                            (                              x                -                μ                            )                        2                                2            ⁢                          σ              2                                          wherein μ and σ are the mean and the standard deviation of the distribution, respectively.
The hypothesis of additive white Gaussian noise (AWGN) is done because by adding independent signals with different PDFs a signal with a Gaussian PDF is generated. Another classic hypothesis in digital image processing consists in considering a zero mean AWGN.
The main parameter to be estimated for determining the zero mean AWGN noise level is the variance of the standard deviation of the error distribution.
The image to be processed is subdivided in non-overlapped blocks of fixed size and the standard deviation for each block is calculated. Let us suppose that the smallest standard deviations be present in homogeneous blocks in which the pixel variations are due practically only to random noise.
Given a set of n normally distributed independent stochastic variables, a non-biased estimator of the variance is:
      S    2    =            1              n        -        1              ⁢                  ∑                  i          =          1                n            ⁢                        (                                    X              i                        -                          X              _                                )                2            wherein X is the mean. If Xi are noise samples, then E(S2)=σ2, that is the expected value of S2 is the noise variance that is to be estimated.
Calculating S2 requires numerous operations, that must be repeated for each pixel belonging to the homogeneous area as long as a sufficient amount of samples has been collected.
Substantially, in order to estimate the local standard deviation for each pixel of a homogeneous region by using the above described approach, the following operations are performed:
i) carrying out the calculations required by a texture analyzer for determining a texture-degree, that gives the information about the texture of the image represented in the image portion being processed;
ii) estimating the mean value of the pixel intensity of the working window of the filter which the current pixel belongs to;
iii) adding the squares of the differences between each pixel of the mask and the mean value;
iv) dividing by n−1;
v) averaging on all local variances;
vi) extracting the square root of the final variance for obtaining the standard deviation.
The above known algorithm requires a considerably large number of calculations and as a consequence it is relatively time consuming.